let n1 = new Number(1);

// Object()构造函数也可以传入一个数值。
let n2 = new Object(1);

console.log("n1 =",n1); // [Number: 1]
console.log("n2 =",n2); // [Number: 1]
// 注意：虽然值一样，但是比较不想等（因为是引用数据类型，目前先了解）
console.log(n1 == n2); // false
// 如果直接喝基本数据类比较是相等的（了解）
console.log(1 == n1); // true
console.log(1 == n2); // true

let s1 = new String("我");
let s2 = new Object("我");
console.log("s1 =",s1); // [String: '我']
console.log("s2 =",s2); // [String: '我']
console.log(s1 == s2); // false
console.log("我" == s1); // true
console.log("我" == s2); // true

let b1 = new Boolean(true);
let b2 = new Object(true);
console.log("b1 =",b1); // [Boolean: '我']
console.log("b2 =",b2); // [Boolean: '我']
console.log(b1 == b2); // false
console.log(true == b1); // true
console.log(true == b2); // true

// typeof是一个运算符，用于返回变量数据类的字符串值
console.log(typeof n1); // object
console.log(typeof s1); // object
console.log(typeof b1); // object